﻿Imports ControladorasAT.SIREOS
Imports ServiciosAT
Imports Utilitarios
Imports System.Data

Partial Class Pages_Inicio
    Inherits System.Web.UI.MasterPage

    Dim ItemMenu As MenuItem

    Private Sub MostrarNombre()
        Dim oUsuarioBE As New SireosWSSeguridad.Usuario
        oUsuarioBE.codUsuario = Convert.ToInt32(LblCodUsuario.Text)

        Dim oCtUsuario As New CtSeguridad
        LblUsuario.Text = oCtUsuario.obtenerNombreUsuario(oUsuarioBE)
    End Sub

    Private Function MostrarModulos() As DataTable
        Dim oUsuarioAccesoBE As New SireosWSSeguridad.UsuarioAcceso
        oUsuarioAccesoBE.codUsuario = Convert.ToInt32(LblCodUsuario.Text)

        Dim oCtUsuario As New CtSeguridad
        Dim dt As DataTable
        dt = oCtUsuario.listarModulosUsuario(oUsuarioAccesoBE)
        Return dt
    End Function

    Private Function MostrarItemsModulos() As DataTable
        Dim oUsuarioAccesoBE As New SireosWSSeguridad.UsuarioAcceso
        oUsuarioAccesoBE.codUsuario = Convert.ToInt32(LblCodUsuario.Text)

        Dim oCtUsuario As New CtSeguridad
        Dim dt As DataTable = oCtUsuario.listarAccesoUsuario(oUsuarioAccesoBE)
        Return dt
    End Function

    Private Sub CargarItems(dto As DataTable, modu As Integer)
        If Not (dto Is Nothing) Then
            Dim SubMenuItem As MenuItem
            Dim dw As DataView = dto.DefaultView
            Dim filtro As String = "NivAcceso=" + modu.ToString
            dw.RowFilter = filtro

            For Each dr As DataRow In Helper.ConvertToDataTable(dw).Rows
                Dim eti As String = dr("NomAcceso").ToString
                Dim rut As String = dr("PagAcceso").ToString
                SubMenuItem = New MenuItem(eti, rut)
                ItemMenu.ChildItems.Add(SubMenuItem)
            Next
        End If
    End Sub

    Private Sub ConstruirMenu()
        Dim dt As DataTable = MostrarModulos()
        Dim dto As DataTable = MostrarItemsModulos()
        If Not (dt Is Nothing) Then
            For i As Integer = 0 To dt.Rows.Count - 1
                Dim modu As Integer = Convert.ToInt32(dt.Rows(i).Item("CodAcceso"))
                Dim eti As String = dt.Rows(i).Item("NomAcceso").ToString
                ItemMenu = New MenuItem(eti)
                CargarItems(dto, modu)
                menuSIT.Items.Add(ItemMenu)
            Next
        End If

    End Sub

    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            LblCodUsuario.Text = Session("CodigoUsuario")
            If LblCodUsuario.Text <> Valores.vacio Then
                MostrarNombre()
                ConstruirMenu()
            Else
                Response.Redirect("..\PagError.aspx")
            End If
        End If
    End Sub

    Protected Sub ibtnCerrarSesion_Click(sender As Object, e As ImageClickEventArgs) Handles ibtnCerrarSesion.Click
        Session.Abandon()
        Response.Redirect("..\Login.aspx")
    End Sub

    Protected Sub menuSIT_MenuItemClick(sender As Object, e As MenuEventArgs) Handles menuSIT.MenuItemClick
        Dim ruta As String = Valores.vacio
        ruta = menuSIT.SelectedItem.Value
        If ruta <> Valores.vacio And ruta.Contains("aspx") Then
            Response.Redirect(ruta)
        End If
    End Sub

End Class

